package com.asistencia.DAO.factory;

import com.asistencia.DAO.Ausencias_autDAO;
import com.asistencia.DAO.FuncionarioDAO;
import com.asistencia.DAO.MarcacionDAO;
import com.asistencia.DAO.ModuloDAO;
import com.asistencia.DAO.PerfilDAO;
import com.asistencia.DAO.TurnoDAO;
import com.asistencia.DAO.utils.Connector;


public class FactoryDAO {

    private static FactoryDAO instance = null;
    private FuncionarioDAO dataFun;
    private Ausencias_autDAO dataAus;
    private ModuloDAO dataMod;
    private TurnoDAO dataTur;
    private MarcacionDAO dataMar;
    private PerfilDAO dataPer;


    protected FactoryDAO() {
        Connector.openConnection();
        dataFun = new FuncionarioDAO();
        dataAus = new Ausencias_autDAO();
        dataMod = new ModuloDAO();
        dataTur = new TurnoDAO();
        dataMar = new MarcacionDAO();
        dataPer = new PerfilDAO();

    }

    public static FactoryDAO getInstance(){
        if(FactoryDAO.instance == null)
            {
                FactoryDAO.instance = new FactoryDAO();
            }
        return FactoryDAO.instance;
    }

    public FuncionarioDAO getDataFun(){
        return dataFun;
    }

    public Ausencias_autDAO getDataAus() {
        return dataAus;
    }

    public ModuloDAO getDataMod()
    {
        return dataMod;
    }

    public TurnoDAO getDataTur()
    {
        return dataTur;
    }

    public MarcacionDAO getDataMar()
    {
        return dataMar;
    }

       public PerfilDAO getDataPer()
    {
        return dataPer;
    }
}
